package com.zyf.lj.service.impl;

import com.zyf.lj.entity.Major;
import com.zyf.lj.mapper.MajorMapper;
import com.zyf.lj.service.MajorService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * 专业服务实现类
 */
@Service
public class MajorServiceImpl implements MajorService {
    
    @Autowired
    private MajorMapper majorMapper;
    
    /**
     * 获取所有专业信息
     * @return 专业列表
     */
    @Override
    public List<Major> getAllMajors() {
        return majorMapper.findAllMajors();
    }
    
    /**
     * 根据ID获取专业信息
     * @param id 专业ID
     * @return 专业信息
     */
    @Override
    public Major getMajorById(Integer id) {
        return majorMapper.findMajorById(id);
    }
    
    /**
     * 根据学院ID获取专业列表
     * @param collegeId 学院ID
     * @return 专业列表
     */
    @Override
    public List<Major> getMajorsByCollegeId(Integer collegeId) {
        return majorMapper.findMajorsByCollegeId(collegeId);
    }
    
    /**
     * 获取专业详细信息（包括课程和就业方向）
     * @param id 专业ID
     * @return 专业详细信息
     */
    @Override
    public Major getMajorDetailById(Integer id) {
        Major major = majorMapper.findMajorDetailById(id);
        
        // 如果找不到专业详情，则返回null
        if (major == null) {
            return null;
        }
        
        // 确保collegeId不为空
        if (major.getCollegeId() == null) {
            // 尝试从基本信息中获取collegeId
            Major basicMajor = majorMapper.findMajorById(id);
            if (basicMajor != null && basicMajor.getCollegeId() != null) {
                major.setCollegeId(basicMajor.getCollegeId());
            }
        }
        
        return major;
    }
} 